home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Games / Arashi 1.1.1 / source code / VASample / demomain.c next >
Encoding:
C/C++ Source or Header  |  1995-09-05  |  1.5 KB  |  75 lines  |  [TEXT/KAHL]

  1. /*/
  2.      Project Arashi/STORM: demomain.c
  3.      Major release: 9/9/92
  4.  
  5.      Last modification: Wednesday, September 9, 1992, 21:30
  6.      Created: Saturday, September 29, 1990, 15:45
  7.  
  8.      Copyright © 1990-1992, Juri Munkki
  9. /*/
  10.  
  11. #include "VA.h"
  12.  
  13.  
  14. #define    N    20
  15.  
  16. short errno;
  17.  
  18. void    main()
  19. {
  20.     EventRecord        Event;
  21.     int                i;
  22.     Point            vector[N];
  23.     Point            speed[N];
  24.  
  25.     DoInits();
  26.     randSeed=TickCount();
  27.     
  28.     VAInit(GetMainDevice());
  29.     VA.FrameSpeed=2;
  30.  
  31.     for(i=0;i<N;i++)
  32.     {    vector[i].h=((unsigned int)Random()) % VA.frame.right;
  33.         vector[i].v=((unsigned int)Random()) % VA.frame.bottom;
  34.         speed[i].h=1;
  35.         speed[i].v=1;
  36.     }    
  37.     
  38.     do
  39.     {    VA.color=255-128;
  40.         VA.segmscale=20;
  41.         VADrawNumber(TickCount(),200,VA.segmscale+VA.segmscale+5);
  42.     
  43.         VA.color=3;
  44.         for(i=0;i<N;i++)
  45.         {    vector[i].h+=speed[i].h;
  46.             if(vector[i].h<VA.frame.left || vector[i].h>=VA.frame.right)
  47.             {    vector[i].h-=speed[i].h;
  48.                 speed[i].h=-speed[i].h;
  49.                 VAExplosion(vector[i].h,vector[i].v,3,2);
  50.             }
  51.             vector[i].v+=speed[i].v;
  52.             if(vector[i].v<VA.frame.top || vector[i].v>=VA.frame.bottom)
  53.             {    vector[i].v-=speed[i].v;
  54.                 speed[i].v=-speed[i].v;
  55.                 VAExplosion(vector[i].h,vector[i].v,3,2);
  56.             }
  57.             if((Random() & 255)==0)
  58.             {    VAExplosion(vector[i].h,vector[i].v,2,3);
  59.                 speed[i].h+=speed[0].h;
  60.                 speed[i].v+=speed[0].v;
  61.             }
  62.             
  63.             VASafeSpot(vector[i].h,vector[i].v);
  64.         }
  65.         VA.color=0;
  66.         VAMoveTo(vector[N-1].h,vector[N-1].v);
  67.         for(i=0;i<N;i++)
  68.         {    VALineTo(vector[i].h,vector[i].v);
  69.         }
  70.  
  71.         VAStep();
  72.     } while(!Button());
  73.  
  74.     VAClose();
  75. }